﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sistema_Totem.Logica.Clases;
using AjaxControlToolkit;


namespace Sistema_Totem.Vista.Minuta
{
    public partial class Agregar_Minuta : System.Web.UI.Page
    {
        int i = 0;
        protected void Page_Load(object sender, EventArgs e)
        {

            /*if (Session["tipo_usuario"].ToString() != "Gerente de Proyecto")
            {
                Response.Redirect("Login1.aspx");
            }

            if (Session["tipo_usuario"].ToString() != "Administrador")
            {
                Response.Redirect("Login1.aspx");
            }*/
            //Proyecto proy = (Proyecto)Session["objProyecto"];
            if (!IsPostBack)
            {
                //creacions de los paneles del acordeon
                Label lbTitle;
                Label lbContent;
                AjaxControlToolkit.AccordionPane pn;
                List<Seccion> seccionesSelecionadas = (List<Seccion>)Session["listaSeccionesPlantillaMinuta"];
                foreach (Seccion miSeccion in seccionesSelecionadas)
                {
                    lbTitle = new Label();
                    lbContent = new Label();
                    lbTitle.Text = miSeccion.Nombre;
                    pn = new AjaxControlToolkit.AccordionPane();
                    pn.ID = miSeccion.Nombre;
                    pn.HeaderContainer.Controls.Add(lbTitle);
                    foreach(Elemento miElementoGrafico in miSeccion.MiListaElementos)
                    {
                        CreaControl(miElementoGrafico.NombreTipoElemento, miElementoGrafico.Nombre,pn);
                        i++;
                    }
                    AccordionSeccionMinuta.Panes.Add(pn);
                }
                
            }
        }

        public void CreaControl(String tipo, String nombreElemento, AccordionPane ap1 )
        {
            switch (tipo)
            {
                case "TextBox":
                    TextBox textBoxTotem = new TextBox();
                    textBoxTotem.ID =nombreElemento;

                    ap1.ID = nombreElemento;
                   
                    ap1.ContentContainer.Controls.Add(textBoxTotem);
                   
                    break;

                case "textarea":
                    TextBox textAreaTotem = new TextBox();
                    textAreaTotem.ID = nombreElemento;
                    textAreaTotem.Height = 150;
                    textAreaTotem.Width = 463;
                    textAreaTotem.TextMode = TextBoxMode.MultiLine;

                    ap1.ID = nombreElemento;
                   
                    ap1.ContentContainer.Controls.Add(textAreaTotem);
                    
                    break;
            }
        }

        protected void extraerValores()
        {
            List<String> ListaC = new List<String>();
            ListaC = (List<String>)(Session["Controles"]);
            int i = 0;
            List<String> resultados = new List<String>();
            foreach (AjaxControlToolkit.AccordionPane item in AccordionSeccionMinuta.Panes)
            {
                Object ObjetoGenerico = new Control();
                ObjetoGenerico = item.ContentContainer.FindControl(ListaC[i]);

                if (ObjetoGenerico is TextBox)
                {
                    TextBox T = ObjetoGenerico as TextBox;
                    resultados.Add(T.Text);
                    i++;
                }

                if (ObjetoGenerico is DropDownList)
                {
                    DropDownList D = ObjetoGenerico as DropDownList;
                    resultados.Add(D.SelectedValue.ToString());
                    i++;
                }

              /*  if (ObjetoGenerico is TextAreaTotem)
                {
                    TextBox Ta = ObjetoGenerico as TextBox;
                    Ta.TextMode = TextBoxMode.MultiLine;
                    resultados.Add(Ta.Text);
                    i++;
                } */

                //TextBox T = new TextBox();
                //T = (TextBox)item.ContentContainer.FindControl(ListaC[i]);
                //resultados.Add(T.Text);
                //i++;
            }
        }

        protected void BotonAnterior_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Vista/Minuta/SeccionesAgregarMinuta.aspx");
        }

        protected void BotonGuardar_Click(object sender, EventArgs e)
        {
            Requerimiento requerimiento = new Requerimiento();

            extraerValores();
           
            Response.Redirect("~/index.aspx");

        }
   
    }

}